Dokumentacja protokołu BIG InfoMonitor
Integracja z BIG API

BIG API jest oparte o technologię Web Service i wykorzystuje protokół SOAP oraz format XML. BIG API zostało skonstruowane w sposób umożliwiający wykorzystywanie wielu protokołów definiujących struktury komunikatów wykorzystywanych w ramach komunikacji między BIG IM a klientami.

Każda operacja BIG API zawiera w komunikacie wejściowym i wyjściowym element "data" typu znakowego (xs:string).

 Komunikat wejściowy

W komunikacie wejściowym system subskrybenta powinien w elemencie data przekazać komunikat w formacie xml zgodny z definicją odpowiedniego elementu w specyfikacji XSD wybranego protokołu. Dla operacji [nazwaOperacji], należy przekazać komunikat zgodny z definicją elementu [nazwaOperacji]Request.

Na przykad dla operacji updateEconomicInformation w elemencie data żądania przekazywany jest komunikat zgodny z definicją updateEconomicInformationRequest (w tagu <![CDATA[ (...) ]]>).

Dla protokołu bimo element updateEconomicInformationRequest jest zdefiniowany w pliku bimoL.v1.xsd.

Defnicja komunikatu wejściowego

<xs:complexType name="RequestMessage">
     <xs:sequence>
         <xs:element name="requestId" type="tns:messageId">
         <xs:element name="requestDateTime" type="xs:dateTime">
         <xs:choice>
             <xs:element name="protocol" type="tns:protocolEnum">
             <xs:element name="customProtocol" type="xs:string">
         </xs:choice>
         <xs:element name="testDataMarker" type="xs:boolean">   
         <xs:element name="data" type="xs:string">
     </xs:sequence>
</xs:complexType>

Przykład komunikatu wejściowego

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ba="http://api.big.pl/bigApi/v1/types">
    <soapenv:Header>
        <ba:credentials>
            <user>USERTEST</user>
            <password>Test</password>
        </ba:credentials>
    </soapenv:Header>
    <soapenv:Body>
        <ba:updateEconomicInformationRequest>
            <requestId>reqid1001</requestId>
            <requestDateTime>2018-03-15T10:00:00</requestDateTime>
            <protocol>bimo v1</protocol>
            <testDataMarker>false</testDataMarker>
                <data>
                    <![CDATA[
                        <?xml version="1.0" encoding="UTF-8"?>
                        <bl:updateEconomicInformationRequest
                            xmlns:bc="http://api.big.pl/bimo/v1" xmlns:bl="http://api.big.pl/bimoL/v1"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:schemaLocation="http://api.big.pl/bimoL/v1 bimoL.v1.xsd ">
                            <client>
                                <clientId>TEST</clientId>
                                <unitId>TEST</unitId>
                            </client>
                            <repeatedRequestMarker>true</repeatedRequestMarker>
                            <validityDateTime>2018-03-15T10:00:00</validityDateTime>
                            <addInformation xsi:bae="bc:NegativeEconomicInformation">
                                <id>TESTIG1001</id>
                                <blockade status="false" />
                                <providerRestrictedMarker>false</providerRestrictedMarker>
                                <debtor xsi:type="bc:NaturalPerson">
                                    <concatenatedName>Adam Test</concatenatedName>
                                    <identity>
                                        <pesel>43071554915</pesel>
                                        <document>
                                            <id>AUH810628</id>
                                            <type>idCard</type>
                                        </document>
                                    </identity>
                                    <residenceAddress xsi:type="bc:SplitAddress">
                                        <country>POL</country>
                                        <postcode>01-230</postcode>
                                        <city>Warszawa</city>
                                        <street>Skierniewicka</street>
                                        <houselocalNumber>11</houselocalNumber>
                                    </residenceAddress>
                                </debtor>
                                <liability xsi:type="bc:OverdueFinancialLiability">
                                    <id>ZOBOWIAZANIE1001</id>
                                    <currency>PLN</currency>
                                    <amount>900</amount>
                                    <overdueAmount>600</overdueAmount>
                                    <dueDate>2017-06-01</dueDate>
                                    <paymentCallDate>2017-05-01</paymentCallDate>
                                    <type>bill</type>
                                    <contractType>bank</contractType>
                                </liability>
                            </addInformation>
                        </bl:updateEconomicInformationRequest>
                    ]]>
            </data>
        </ba:updateEconomicInformationRequest>
    </soapenv:Body>
</soapenv:Envelope>
 Komunikat wyjściowy

W komunikacie wyjściowym SIBIG w elemencie data przekazuje komunikat xml zgodny z definicją odpowiedniego elementu w specyfikacji XSD protokołu wybranego przez subskrybenta w żądaniu. Dla operacji [nazwaOperacji], należy przekazać komunikat zgodny z definicją elementu [nazwaOperacji]Response.

Na przykad dla operacji getReport w elemencie data odpowiedzi przekazywany jest komunikat zgodny z definicją getReportResponse (w tagu <![CDATA[ (...) ]]>).

Dla protokołu bimo element getReportResponse jest zdefiniowany w pliku bimoR.v1.xsd.

Defnicja komunikatu wyjściowego

<xs:complexType name="ResponseMessage">
    <xs:sequence>
        <xs:element name="responseId" type="tns:messageId"/>
        <xs:element name="responseDateTime" type="xs:dateTime"/>
        <xs:element name="requestId" type="tns:messageId"/>
        <xs:element name="requestDateTime" type="xs:dateTime"/>
        <xs:element name="user" type="xs:string"/>
        <xs:choice>
             <xs:element name="protocol" type="tns:protocolEnum"/>
             <xs:element name="customProtocol" type="xs:string"/>
        </xs:choice>
        <xs:element name="data" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

Przykład komunikatu wyjściowego

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <ba:updateEconomicInformationResponse xmlns:ba="http://api.big.pl/bigApi/v1/types">
            <responseId>01ae5e806e1c498582a321444b1e91fe</responseId>
            <responseDateTime>2018-03-15T12:56:37.525+01:00</responseDateTime>
            <requestId>reqid1001</requestId>
            <requestDateTime>2018-03-15T10:00:00</requestDateTime>
            <user>TEST</user>
            <protocol>bimo v1</protocol>
            <data>
                <![CDATA[
                    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                    <bl:updateResponse xsi:type="bl:UpdateEconomicInformationResponse"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:bl="http://api.big.pl/bimoL/v1" xmlns:bc="http://api.big.pl/bimo/v1">
                        <success>
                            <operationType>addInformation</operationType>
                            <result>ok</result>
                            <updatedInformation>
                                <economicInformation xsi:type="bc:NegativeEconomicInformation">
                                    <id idType="internalId">7352312424558197065636</id>
                                    <id idType="externalId">TESTIG1001</id>
                                    <blockade status="false"/>
                                    <providerRestrictedMarker>false</providerRestrictedMarker>
                                    <debtor xsi:type="bc:NaturalPerson">
                                        <splitName>
                                            <forename>ADAM</forename>
                                            <surname>TEST</surname>
                                        </splitName>
                                        <identity>
                                            <pesel>43071554915</pesel>
                                            <document>
                                                <id>AUH810628</id>
                                                <type>idCard</type>
                                            </document>
                                        </identity>
                                        <residenceAddress xsi:type="bc:SplitAddress">
                                            <country>POL</country>
                                            <postcode>01-230</postcode>
                                            <city>Warszawa</city>
                                            <street>Skierniewicka</street>
                                            <houselocalNumber>11</houselocalNumber>
                                        </residenceAddress>
                                    </debtor>
                                    <liability xsi:type="bc:OverdueFinancialLiability">
                                        <id idType="internalId">4273537</id>
                                        <id idType="externalId">ZOBOWIAZANIE1001</id>
                                        <currency>PLN</currency>
                                        <amount>900.00</amount>
                                        <overdueAmount>600.00</overdueAmount>
                                        <objections status="notDisputed"/>
                                        <limitation status="notExpired"/>
                                        <dueDate>2017-06-01</dueDate>
                                        <paymentCallDate>2017-05-01</paymentCallDate>
                                        <type>bill</type>
                                        <contractType>bank</contractType>
                                    </liability>
                                </economicInformation>
                                <validityDateTime>2018-03-15T10:00:00</validityDateTime>
                                <peselBlockade status="false"/>
                                <transferedMarker>false</transferedMarker>
                                <takedOverMarker>false</takedOverMarker>
                            </updatedInformation>
                        </success>
                    </bl:updateResponse>
                ]]>
            </data>
        </ba:updateEconomicInformationResponse>
    </soapenv:Body>
</soapenv:Envelope>

 

Zobacz także